home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / comms / other / novia / src / newusersequence.c < prev    next >
C/C++ Source or Header  |  1999-12-06  |  15KB  |  567 lines

  1. #include <novia/novia_global.h>
  2. #include <novia/novia_funcs.h>
  3. #include <pragma/noviasys_lib.h>
  4.  
  5. ULONG NewUserSequence()
  6. {
  7.     struct PortData *cport=(PortData *)FindTask(NULL)->tc_UserData;
  8.     char buffer[50]="                    ";
  9.     char buffer2[50]="                    ";
  10.     char local[10];
  11.     char district[10];
  12.     int counter;
  13.     long temp;
  14.     UBYTE ubyte;
  15.     UWORD uword;
  16.     ULONG ulong;
  17.     BOOL Quit=FALSE,Quit2=FALSE;
  18.  
  19.                 /*** COMPUTER TYPE ***/
  20.  
  21.     ShowText("work:novia/newuser/comp");
  22.     ioprintf("Enter the # of a computer type.\n");
  23.     Writeio(": ",-1);
  24.     while(Quit==FALSE)
  25.     {
  26.         Getlong((ULONG *)&temp,0,1,0,0);
  27.         if (temp>-1 && temp<5)
  28.         {
  29.             cport->LocalUser.ComputerType=*buffer;
  30.             Quit=TRUE;
  31.         }
  32.         if (*buffer==13 | buffer==0)
  33.         {
  34.             cport->LocalUser.ComputerType=0;
  35.             Quit=TRUE
  36.         }
  37.     }
  38.  
  39.                 /*** TERMINAL LENGTH ***/
  40.  
  41.     for (counter=40;counter>7;counter--)
  42.     {
  43.         Writelong(counter);LF();
  44.     }
  45.     ShowText("work:novia/newuser/length");
  46.     ioprintf("Enter the number of lines that your\n");
  47.     ioprintf("terminal can display.\n");
  48.     Writeio(": ",-1);
  49.     ubyte=24;
  50.     Getbyte((UBYTE *)buffer,&ubyte,2,0,0);
  51.     if (*buffer==13 | *buffer==0)
  52.     {cport->LocalUser.TermLength=24;}
  53.     else
  54.     {
  55.         StrToLong((STRPTR)buffer,&temp);
  56.         cport->LocalUser.TermLength=(char)temp
  57.         }
  58.     LF();
  59.  
  60.                 /*** TERMINAL WIDTH ***/
  61.  
  62.     ShowText("work:novia/newuser/width");
  63.     ioprintf("Enter the number of characters per line your terminal can display.\n");
  64.     Writeio(": ",-1);
  65.     ubyte=80;
  66.     Getbyte(buffer,&ubyte,3,0,0);
  67.     if (*buffer==13 | *buffer==0)
  68.     {cport->LocalUser.TermWidth=80;}
  69.     else
  70.     {
  71.         StrToLong((STRPTR)buffer,&temp);
  72.         cport->LocalUser.TermWidth=(char)temp;
  73.     }
  74.     LF();LF();
  75.  
  76.                 /*** ANSI-TEST !!!implementing later!!! ***/
  77.  
  78.     cport->LocalUser.TermANSI=1;
  79.     cport->LocalUser.TermColors=8;
  80.     cport->LocalUser.TermTabs=0;
  81.  
  82.     Termsettings(&cport->LocalUser,0);    // Show terminalsetting and
  83.     LF();                                // ask for change
  84.  
  85.                 /*** COUNTRY CODE ***/
  86.                 
  87.     ioprintf("You will now be asked to enter several personal data items.  Please respond\n");
  88.     ioprintf("truthfully.  All users will be given access to view your Handle and your\n");
  89.     ioprintf("City/Country.  You will be asked whether or not to keep the other information\n");
  90.     ioprintf("private for System Operators' eyes only.\n\n");
  91.     ioprintf("Please use the three letter country identifier that is commonly used in the.\n");
  92.     ioprintf("Olympic games.\n\n");
  93.     ShowText("work:novia/newuser/country");
  94.     Quit=FALSE;
  95.     while(Quit==FALSE)
  96.     {
  97.         LF();Writeio(":> ",-1);
  98.         Getstring(buffer,"GER",3,0,0);
  99.         if (*buffer==68)
  100.         {ShowText("systext:sys.nationals.help");}
  101.         else
  102.         {
  103. //            cport->LocalUser.AreaCode[0]=1;
  104.             Quit=TRUE;
  105.         }
  106.     }
  107.     LF();
  108.  
  109.                 /*** USERNAME ***/
  110.  
  111.     ShowText("work:novia/newuser/handle");
  112.     Quit=FALSE;
  113.     while(Quit==FALSE)
  114.     {
  115.         Quit2=FALSE;
  116.         while(Quit2==FALSE)
  117.         {
  118.             LF();ioprintf("Enter the handle that you wish to use on this system.\n");
  119.             Writeio(":> ",-1);
  120.             Getstring(buffer,cport->LocalUser.Handle,21,0,0);
  121.             if (strlen((STRPTR)buffer)>4)
  122.             {
  123.                 strcpy((STRPTR)cport->LocalUser.Handle,(STRPTR)buffer);
  124.                 Quit2=TRUE;
  125.             }
  126.         }
  127.         LF();LF();Writeio("Is ",-1);
  128.         Writeio(cport->LocalUser.Handle,-1);
  129.         Writeio(" correct ? ",-1);
  130.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  131.     }
  132.  
  133.                 /*** FRIST AND SECOND NAME ***/
  134.  
  135.     Quit=FALSE;
  136.     LF();
  137.     while (Quit==FALSE)
  138.     {
  139.         Quit2=FALSE;
  140.         while (Quit2==FALSE)
  141.         {
  142.             ioprintf("Please enter your real name.\n");
  143.             Writeio(":> ",-1);
  144.             Getstring(buffer,cport->LocalUser.RealName,41,0,0);
  145.             if (strlen((STRPTR)buffer)>4)
  146.             {
  147.                 strcpy((STRPTR)cport->LocalUser.RealName,(STRPTR)buffer);
  148.                 Quit2=TRUE;
  149.             }
  150.         }
  151.         LF();LF();Writeio("Is ",-1);
  152.         Writeio(cport->LocalUser.RealName,-1);
  153.         Writeio(" correct ? ",-1);
  154.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  155.     }
  156.  
  157.     LF();Writeio("Do you want to keep your REAL NAME private ? ",-1);
  158.     if (Yesno(TRUE,0)==TRUE)
  159.         {cport->LocalUser.PRealName=TRUE;}
  160.     else
  161.         {cport->LocalUser.PRealName=FALSE;}
  162.                 
  163.                 /*** ADDRESS ***/
  164.  
  165.     Quit=FALSE;
  166.     LF();
  167.     while (Quit==FALSE)
  168.     {
  169.         Quit2=FALSE;
  170.         while (Quit2==FALSE)
  171.         {
  172.             ioprintf("\nPlease enter your Streetname and number.\n");
  173.             Writeio(":> ",-1);
  174.             Getstring(buffer,cport->LocalUser.Street,41,0,0);
  175.             if (strlen((STRPTR)buffer)>4)
  176.             {
  177.                 strcpy((STRPTR)cport->LocalUser.Street,(STRPTR)buffer);
  178.                 Quit2=TRUE;
  179.             }
  180.         }
  181.         LF();LF();Writeio("Is ",-1);
  182.         Writeio(cport->LocalUser.Street,-1);
  183.         Writeio(" correct ? ",-1);
  184.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  185.     }
  186.  
  187.     LF();Writeio("Do you want to keep your Street private ? ",-1);
  188.     if (Yesno(TRUE,0)==TRUE)
  189.         {cport->LocalUser.PAddress=TRUE;}
  190.     else
  191.         {cport->LocalUser.PAddress=FALSE;}
  192.                 
  193.                 /*** CITY ***/
  194.  
  195.     Quit=FALSE;
  196.     LF();
  197.     while (Quit==FALSE)
  198.     {
  199.         Quit2=FALSE;
  200.         while (Quit2==FALSE)
  201.         {
  202.             ioprintf("\nPlease enter your City.\n");
  203.             Writeio(":> ",-1);
  204.             Getstring(buffer,cport->LocalUser.City,41,0,0);
  205.             if (strlen((STRPTR)buffer)>2)
  206.             {
  207.                 strcpy((STRPTR)cport->LocalUser.City,(STRPTR)buffer);
  208.                 Quit2=TRUE;
  209.             }
  210.         }
  211.         LF();LF();Writeio("Is ",-1);
  212.         Writeio(cport->LocalUser.City,-1);
  213.         Writeio(" correct ? ",-1);
  214.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  215.     }
  216.  
  217.                     /*** Postal Code ***/
  218.  
  219.     Quit=FALSE;
  220.     LF();
  221.     while (Quit==FALSE)
  222.     {
  223.         Quit2=FALSE;
  224.         while (Quit2==FALSE)
  225.         {
  226.             ioprintf("Please enter your PostalCode.\n");
  227.             Writeio(":> ",-1);
  228.             Getstring(buffer,cport->LocalUser.ZipCode,41,0,0);
  229.             if (strlen((STRPTR)buffer)>2)
  230.             {
  231.                 strcpy((STRPTR)cport->LocalUser.ZipCode,(STRPTR)buffer);
  232.                 Quit2=TRUE;
  233.             }
  234.         }
  235.         LF();LF();Writeio("Is ",-1);
  236.         Writeio(cport->LocalUser.ZipCode,-1);
  237.         Writeio(" correct ? ",-1);
  238.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  239.     }
  240.  
  241.                 /*** PHONE ***/
  242.  
  243.     ShowText("work:novia/newuser/phone");
  244.     strcpy((STRPTR)district,(STRPTR)"06172");
  245.     *local=0;
  246.     Quit=FALSE;
  247.     LF();
  248.     while (Quit==FALSE)
  249.     {
  250.         Quit2=FALSE;
  251.         while (Quit2==FALSE)
  252.         {
  253.             ioprintf("Enter your COUNTRY/CITY CODES (++ prefix).\n");
  254.             Writeio(":> ",-1);
  255.             Getstring(buffer,district,8,0,0);
  256.             if (strlen((STRPTR)buffer)<9)
  257.             {
  258.                 strcpy((STRPTR)district,(STRPTR)buffer);
  259.                 Quit2=TRUE;
  260.             }
  261.         }
  262.         Quit2=FALSE;
  263.         LF();
  264.         while (Quit2==FALSE)
  265.         {
  266.             ioprintf("Enter the LOCAL part of your phone number.\n");
  267.             Writeio(":> ",-1);
  268.             Getstring(buffer,local,8,0,0);
  269.             if (strlen((STRPTR)buffer)<12)
  270.             {
  271.                 strcpy((STRPTR)local,(STRPTR)buffer);
  272.                 Quit2=TRUE;
  273.             }
  274.         }
  275.         LF();LF();Writeio("Is ",-1);
  276.         Writeio(district,-1);Writeio("-",1);Writeio(local,-1);
  277.         Writeio(" correct ? ",-1);
  278.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  279.     }
  280.     sprintf(cport->LocalUser.PhoneNo,"%s-%s",district,local);
  281.  
  282.     LF();Writeio("Do you want to keep your VOICE PHONE private ? ",-1);
  283.     if (Yesno(TRUE,0)==TRUE)
  284.         {cport->LocalUser.PPhoneno=TRUE;}
  285.     else
  286.         {cport->LocalUser.PPhoneno=FALSE;}
  287.  
  288.                 /*** MODEM-NUMBER ***/
  289.  
  290.     ioprintf("Please enter your Modemnumber now.\n");
  291.     Quit=FALSE;
  292.     LF();
  293.     while (Quit==FALSE)
  294.     {
  295.         Quit2=FALSE;
  296.         while (Quit2==FALSE)
  297.         {
  298.             ioprintf("Enter your COUNTRY/CITY CODES (++ prefix).\n");
  299.             Writeio(":> ",-1);
  300.             Getstring(buffer,district,8,0,0);
  301.             if (strlen((STRPTR)buffer)<9)
  302.             {
  303.                 strcpy((STRPTR)district,(STRPTR)buffer);
  304.                 Quit2=TRUE;
  305.             }
  306.         }
  307.         Quit2=FALSE;
  308.         LF();
  309.         while (Quit2==FALSE)
  310.         {
  311.             ioprintf("Enter the LOCAL part of your Modem number.\n");
  312.             Writeio(":> ",-1);
  313.             Getstring(buffer,local,8,0,0);
  314.             if (strlen((STRPTR)buffer)<12)
  315.             {
  316.                 strcpy((STRPTR)local,(STRPTR)buffer);
  317.                 Quit2=TRUE;
  318.             }
  319.         }
  320.         LF();LF();Writeio("Is ",-1);
  321.         Writeio(district,-1);Writeio("-",1);Writeio(local,-1);
  322.         Writeio(" correct ? ",-1);
  323.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  324.     }
  325.     sprintf(cport->LocalUser.ModemNo,"%s-%s",district,local);
  326.  
  327.     ioprintf("\nDo you want to keep your MODEM NUMBER private ? ");
  328.     if (Yesno(TRUE,0)==TRUE)
  329.         {cport->LocalUser.PModemno=TRUE;}
  330.     else
  331.         {cport->LocalUser.PModemno=FALSE;}
  332.  
  333.                 /*** FAX-NUMBER ***/
  334.  
  335.     ioprintf("Please enter your Faxnumber now.\n");
  336.     Quit=FALSE;
  337.     LF();
  338.     while (Quit==FALSE)
  339.     {
  340.         Quit2=FALSE;
  341.         while (Quit2==FALSE)
  342.         {
  343.             ioprintf("\nEnter your COUNTRY/CITY CODES (++ prefix).\n");
  344.             Writeio(":> ",-1);
  345.             Getstring(buffer,district,8,0,0);
  346.             if (strlen((STRPTR)buffer)<9)
  347.             {
  348.                 strcpy((STRPTR)district,(STRPTR)buffer);
  349.                 Quit2=TRUE;
  350.             }
  351.         }
  352.         Quit2=FALSE;
  353.         LF();
  354.         while (Quit2==FALSE)
  355.         {
  356.             ioprintf("\n\nEnter the LOCAL part of your FAX number.\n");
  357.             Writeio(":> ",-1);
  358.             Getstring(buffer,local,8,0,0);
  359.             if (strlen((STRPTR)buffer)<12)
  360.             {
  361.                 strcpy((STRPTR)local,(STRPTR)buffer);
  362.                 Quit2=TRUE;
  363.             }
  364.         }
  365.         LF();LF();Writeio("Is ",-1);
  366.         Writeio(district,-1);Writeio("-",1);Writeio(local,-1);
  367.         Writeio(" correct ? ",-1);
  368.         if (Yesno(TRUE,0)==TRUE)Quit=TRUE;
  369.     }
  370.     sprintf(cport->LocalUser.FaxNo,"%s-%s",district,local);
  371.  
  372.     LF();Writeio("Do you want to keep your FAX NUMBER private ? ",-1);
  373.     if (Yesno(TRUE,0)==TRUE)
  374.         {cport->LocalUser.PFaxno=TRUE;}
  375.     else
  376.         {cport->LocalUser.PFaxno=FALSE;}
  377.         
  378.                 /*** BIRTHDAY ***/
  379.     Quit2=FALSE;
  380.     ioprintf("Your birthdate is required to grant you access to areas of this system which\n");
  381.     ioprintf("require you to be over a certain minimum age, or under a certain maximum age.\n");
  382.     ioprintf("The system operators can not accept responsibilty for a user's\n");
  383.     ioprintf("mis-representation of his age.  Please answer truthfully.\n\n");
  384.     ioprintf("Enter the year during which you were born:\n\n");
  385.     while (Quit2==FALSE)
  386.     {
  387.         Quit=FALSE;
  388.         while(Quit==FALSE)
  389.         {
  390.             Writeio(">: ",-1);
  391.             Getword(&uword,0,4,0,0);
  392.             if (uword>1800 && uword<3000)
  393.             {
  394.                 cport->LocalUser.Birthday.year=(WORD)uword;
  395.                 Quit=TRUE;
  396.             }
  397.         }
  398.     
  399.         LF();
  400.         ioprintf("01.....Jan     02.....Feb     03.....Mar     04.....Apr     05.....May\n");
  401.         ioprintf("06.....Jun     07.....Jul     08.....Aug     09.....Sep     10.....Oct\n");  
  402.         ioprintf("11.....Nov     12.....Dec\n\n");
  403.         ioprintf("Enter the number of the month during which you were born:\n\n");
  404.         Quit=FALSE;
  405.         while(Quit==FALSE)
  406.         {
  407.             LF();Writeio(">: ",-1);
  408.             Getbyte(&ubyte,0,4,0,0);
  409.             if (ubyte>0 && ubyte<13)
  410.             {
  411.                 cport->LocalUser.Birthday.month=(WORD)temp;
  412.                 Quit=TRUE;
  413.             }
  414.         }
  415.         LF();
  416.         ioprintf("Enter the day of the month on which you were born:\n");
  417.         Quit=FALSE;
  418.         while(Quit==FALSE)
  419.         {
  420.             Writeio(">: ",-1);
  421.             Getbyte(&ubyte,0,4,0,0);
  422.             if (ubyte>0 && ubyte<32)
  423.             {
  424.                 cport->LocalUser.Birthday.day=(WORD)temp;
  425.                 Quit=TRUE;
  426.             }
  427.         }
  428.         LF();LF();Writeio("Is ",-1);
  429.         Writelong((ULONG)cport->LocalUser.Birthday.day);Writeio("-",1);
  430.         Writelong((ULONG)cport->LocalUser.Birthday.month);Writeio("-",1);
  431.         Writelong((ULONG)cport->LocalUser.Birthday.year);
  432.         Writeio(" correct ? ",-1);
  433.         if (Yesno(TRUE,0)==TRUE)Quit2=TRUE;
  434.     }
  435.  
  436.     ioprintf("\nDo you want to keep your BIRTHDAY private ?\n");
  437.     if (Yesno(TRUE,0)==TRUE)
  438.         {cport->LocalUser.PBirthday=TRUE;}
  439.     else
  440.         {cport->LocalUser.PBirthday=FALSE;}
  441.  
  442.     Quit=FALSE;
  443.     while (Quit==FALSE)
  444.     {
  445.         ioprintf("What is your gender? \n");
  446.         ioprintf(" 0) Female                               1) Male\n");
  447.         Writeio(":> ",-1);
  448.         Getbyte(&ubyte,0,1,0,0);
  449.         if (ubyte==0 | ubyte==1)
  450.         {
  451.             cport->LocalUser.Sex=*buffer;
  452.             Quit=TRUE;
  453.         }
  454.     }
  455.  
  456.                 /*** PASSWORD ***/
  457.  
  458.     ShowText("Work:novia/newuser/password");
  459.     Quit=FALSE;
  460.     while(Quit==FALSE)
  461.     {
  462.         Quit2=FALSE;
  463.         while(Quit2==FALSE)
  464.         {
  465.             LF();Writeio("Enter the password that you would like to use.   ",-1);
  466.             Writeio(":> ",-1);
  467.             Getstring(buffer,0,20,0,0);
  468.             if (strlen((STRPTR)buffer)>5)
  469.             {
  470.                 strcpy((STRPTR)cport->LocalUser.PassWord,(STRPTR)buffer);
  471.                 Quit2=TRUE;
  472.             }
  473.         }
  474.         LF();Writeio("Please Enter your Password too, for verification.",-1);
  475.         Getstring(buffer2,0,20,0,0);
  476.         if (FindArg((STRPTR)buffer,(STRPTR)buffer2)==0)
  477.         {
  478.             strcpy(cport->LocalUser.PassWord,buffer);
  479.             Quit=TRUE;
  480.         }
  481.     }
  482.  
  483. /*    Writeln("
  484.     Writeln(" 1) Handle  :  Campi                     2) Name    : *Thorsten Gehler
  485.     Writeln(" 3) Address : *Frankfurter Landstr. 78   4) City    :  Bad Homburg
  486.     Writeln(" 5) ZipCode :  61352                     6) Country :  GER
  487.     Writeln(" 7) Voice#  : *06172-457063              8) Data#   : *06172-457063
  488.     Writeln(" 9) BirthDay: *Mon  5-Apr-1976          10) Gender  :  Male
  489.     Writeln("11) Organiz.:  No                       12) Password: *HELPMY
  490.     Writeln("
  491.     Writeln("Enter the # of the item to change, or press ENTER to continue.
  492.     Writeln(": 
  493.     Writeln("
  494.     Writeln("There are NUMEROUS ways for you to customize your use of this system.  To
  495.     Writeln("change your "system preferences" as they are called, use the EDIT PREFS
  496.     Writeln("command once you are logged on.  For now, only the more important ones will
  497.     Writeln("be introduced.
  498.     Writeln("
  499.     Writeln("Press RETURN if the time is correct.  Otherwise, press "=" to add an hour, or
  500.     Writeln(""-" to subtract an hour until it is correct.
  501.     Writeln("
  502.     Writeln("Sat 27-Sep-1997 17:34 
  503.     Writeln("
  504.     Writeln("Often, it's hard to read text as fast as it scrolls off of your screen. The
  505.     Writeln(""more mode" option will cause text to automatically PAUSE every time the screen
  506.     Writeln("becomes full with new text.
  507.     Writeln("
  508.     Writeln("Do you want the "More?" mode enabled [Yes]? Yes
  509.     Writeln("
  510.     Writeln("Following are several questions whose answers will appear in a file which all
  511.     Writeln("users have access to.  Note that you can change the answers to these questions
  512.     Writeln("once your are logged on by using the EDIT FINGER command.
  513.     Writeln("
  514.     Writeln("Each question may be answered with up to 10 lines.  Only press RETURN at the
  515.     Writeln("end of your response.
  516.     Writeln("
  517.     Writeln("What is your occupation?
  518.     Writeln(":
  519.     Writeln("
  520.     Writeln("What is your occupation?
  521.     Writeln(":.
  522.     Writeln("
  523.     Writeln("What type of computer equipment do you use?
  524.     Writeln(":.
  525.     Writeln("
  526.     Writeln("What are some of your other interests?
  527.     Writeln(":.
  528.     Writeln("
  529.     Writeln("How did you find out about our system?
  530.     Writeln(":.
  531.     Writeln("
  532.     Writeln("Do you run a BBS?  If so, what's the name and number?
  533.     Writeln(":.
  534.     Writeln("
  535.     Writeln("Following are several questions which only the System Operator will have access
  536.     Writeln("to.  Your answers will be kept strictly confidential.
  537.     Writeln("
  538.     Writeln("Each question may be answered with up to 10 lines.  Only press RETURN at the
  539.     Writeln("end of your response.
  540.     Writeln("
  541.     Writeln("Is there anything that hasn't been asked yet that you think the System
  542.     Writeln("Operators should know about?
  543.     Writeln(":.
  544.     Writeln("
  545.     Writeln("Filing your account information...
  546.     Writeln("
  547.     Writeln("
  548.     Writeln("======================================
  549.     Writeln("
  550.     Writeln("Your Handle      --> Campi
  551.     Writeln("Your Password    --> HELPMY
  552.     Writeln("
  553.     Writeln("======================================
  554.     Writeln("
  555.     Writeln("Make a note of these!  You will need them to signon to the system again.
  556.     Writeln("
  557.     Writeln("YES to continue [No]?Y
  558.     Writeln("
  559.     Writeln("
  560.     Writeln("Note: this port will perform off-line maintenance in 625.1 minutes.
  561.     Writeln("
  562.     Writeln("@ Cleared for logon
  563.     */
  564.     AddUser(&cport->LocalUser);
  565.     return TRUE;
  566. }
  567.